﻿#define _CRT_SECURE_NO_WARNINGS 1

/*
* 编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀，返回空字符串 ""。
strs = ["flower", "flow", "flight"]
"fl"
*/
//
//char* longestCommonPrefix(char** strs, int strsSize) {
//    char* p = (char*)calloc(200, 1);
//    p[0] = '\0';
//    if (strsSize == 1)
//        strcat(p, strs[0]);
//    else
//    {
//        char* ret = longestCommonPrefix(strs + 1, strsSize - 1);
//        if (*ret == 0)
//            return p;
//
//        int i = 0;
//        while (strs[0][i] && ret[i])
//        {
//            if (strs[0][i] == ret[i])
//                p[i] = ret[i];
//            i++;
//        }
//
//    }
//    return p;
//}



//给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。
//
//有效字符串需满足：
//
//左括号必须用相同类型的右括号闭合。
//左括号必须以正确的顺序闭合。
//每个右括号都有一个对应的相同类型的左括号。

//char fun(char a)
//{
//    if (a == '}')
//        return '{';
//    if (a == ']')
//        return '[';
//    if (a == ')')
//        return '(';
//    return 0;
//
//
//}
//int isValid(char* s) {
//    if (strlen(s) % 2 == 1)
//        return 0;
//    int stack[1001], top = 0;
//    for (int i = 0; i < strlen(s); i++)
//    {
//        char c = fun(s[i]);
//
//
//        if (c)
//        {
//            if (top == 0 || stack[top - 1] != c)
//            {
//                return 0;
//            }
//            else
//                top--;
//        }
//        else
//        {
//            stack[top++] = s[i];
//        }
//
//    }
//    return top == 0;
//}